package com.reformer.commons.constant;


public interface RedisKeyPrefix {
    /**
     * 操作员/收费员关联的停车场，后跟用户名
     */
    String USER_RELATION_PARK = "relatepark";
    /**
     * 停车场里已停车车位的当前停车记录，前缀为：chargepoll:，后跟停车场编号
     */
    String LAST_PARKINGRECORD = "chargepoll:";
    /**
     * 收费员当月缴费统计，后跟用户名
     */
    String CURMONTH_CHARGECOUNT_OFUSER = "chargecount";
    /**
     * 车位绑定卡或者车牌，后跟车位号
     */
    String PARKING_BIND_CARDORPLATE = "bindparking";
    /**
     * 根据车牌号或者车位号查询前50条停车记录，后跟车牌号或者车位号
     */
    String QUERY_PARKINGRECORDS_BY_CARDORPLATE = "record";

    /**
     * 进场时对车位加锁，后跟车位号
     */
    String LOCK_CARINOUT = "lockcarinout";

    /**
     * 付款时对停车记录加锁，后跟停车记录id，如为第三方支付，则值为out_trade_no的值，否则为lock
     */
    String LOCK_PAY = "lockpay:";

    /**
     * 钱包付款时对钱包加锁，后跟车主id
     */
    String LOCK_WALLET = "lockwallet:";

    /**
     * 回调加锁，后跟out_trade_no的值，其值为lock
     */
    String LOCK_NOTIFY = "locknotify:";

    /**
     * key为:parking:no:后跟车位no,其值为对应车位id
     */
    String PARKING_NO = "parking:no:";

    /**
     * key为:parking:id:后跟车位id，其值为车位信息
     */
    String PARKING_ID = "parking:id:";

    /**
     * key为:parkinglot:parkinglotno:后跟停车场no,其值为对应停车场id
     */
    String PARKINGLOT_NO = "parkinglot:parkinglotno:";

    /**
     * key为:parkinglot:id:后跟停车场id，其值为停车场信息
     */
    String PARKINGLOT_ID = "parkinglot:id:";
//	
//	/**key为wxouttradeno，其值为list集合，元素为所有未提交的微信订单out_trade_no*/
//	String WX_OUTTRADENO="wxouttradeno";
//	
//	/**key为alipayouttradeno，其值为list集合，元素为所有未提交的支付宝订单out_trade_no*/
//	String ALIPAY_OUTTRADENO="alipayouttradeno";

    /**
     * key为outtradenos，其值为list集合，元素为所有未提交的支付宝/微信订单的商户订单号out_trade_no
     */
    String OUTTRADENOS = "outtradenos";

    /**
     * 订单信息。前缀为outtradeno:，后跟paytype+out_trade_no的值，其值为hash结构，包含key:opname、recordids、createtime(毫秒值)、prepayid、qrcode等
     */
    String OUTTRADENO = "outtradeno:";

    /**
     * 前缀为parkingrecorid:，后跟parkingrecordid， 值为对应的out_trade_no， 查询订单时使用
     */
    String PARKINGRECORDID = "parkingrecordid:";

    /**
     * 发送手机验证码时使用，前缀为"phone:"，后跟手机号码， 值为hash表，包括creationTime(对应上次发送时间戳)/smsCode
     */
    String SMSCODE = "smscode:";

    /**
     * 生成图形验证码时使用，前缀为"code:sessionid:":，后跟sessionid值， 值为验证码
     */
    String CODE_SESSIONID = "code:sessionid:";

    /**
     * 令牌，前缀为"token:":，后跟token值， 值为user对象
     */
    String USER_TOKEN = "token:";

    /**
     * 保存微信用户授权信息，前缀为"wxopenid:":，后跟appid:openid值， 值为access_token，有效期7200秒
     */
    String OPENID = "openid:";

    /**
     * 任务锁，后跟应用名称:任务名称，值为lock
     */
    String TASK_LOCK = "tasklock:";

    /**
     * 车位对应的最后一次付款时间，如没交过费则为0
     */
    String LASTPAY_PARKINGNO = "lastpay:";

    /**
     * <pre>
     * 电子钱包-授权码，后跟授权码，值为hash结构
     * {
     * 	userId:车主用户id
     * 	state:支付状态
     * }
     * </pre>
     *
     * @see WalletPayStateEnum
     */
    String WALLET_AUTH_CODE = "wacode:";

    /**
     * 令牌，前缀为"optoken:":，后跟token值， 值为SysUser对象
     */
    String OPERATOR_TOKEN = "optoken:";
    /**
     * 收费员当月缴费统计，前缀为：chargecount:, 后跟用户名
     */
    String CHARGECOUNT_OF_CURMONTH = "chargecountMonth:";

    /**
     * solr增量索引，上一次停车记录id索引值
     */
    String SOLR_LAST_PARKINGRECORDID = "solr:lastParkrecordid";
    /**
     * 收费员当天缴费统计，前缀为：chargecountDay:, 后跟用户名
     */
    String CHARGECOUNT = "chargecount:";

    /**
     * 包月车monthlycar，后跟停车记录id，值为包月卡号
     */
    String MONTHLY_CAR = "monthlycar:";

    /**
     * 黑白名单，后跟停车记录id，值为hash结构{tag:1,tagName:黑名单1},tag:1-黑名单，2-白名单
     */
    String BLACKWHITE_CAR = "blackwhitecar:";

    /**
     * 注册时的激活码，后跟激活码，值为mch_id，有效期24小时
     */
    String REG_ACTIVATE = "regActivate:";

    /**
     * 商户统计
     */
    String MCH_COUNT = "mchcount";

    /**
     * api调用统计
     */
    String INVOKE_COUNT = "invokecount";

    /**
     * api调用统计，后跟商户id:api
     */
    String INVOKE_COUNT_BY_MCH = "invokecount:";

    String RATELIMITER = "ratelimiter:";

    /**
     * 开放平台：发送手机验证码时使用，前缀为"phone:"，后跟手机号码， 值为hash表，包括creationTime(对应上次发送时间戳)/smsCode
     */
    String OPEN_SMSCODE = "opensmscode:";

    String OPEN_PARK_COUNT = "openParkCount";

    /**
     * 生成邮箱验证码时使用，前缀为"emailCode:":，后跟邮箱， 值为验证码
     */
    String EMAIL_CODE = "emailCode:";

    /**
     * 车牌欠费统计，值为所有车牌的欠费统计
     */
    String ARREAR_CARNOS = "arrearcarnos";

    /**
     * 车牌欠费统计，前缀为"arrearcarno:":，后跟车牌号
     */
    String ARREAR_CARNO = "arrearcarno:";

    /**
     * 欠费统计，前缀为"arrearcount:":，后跟条件
     */
    String ARREAR_COUNT = "arrearcount:";

    /**
     * 车牌欠费统计，值为所有车牌的欠费统计
     */
    String CHARGE_RECORD_COUNT = "chargereccount:";

    /**
     * 用户统计，前缀为"usercount:":，后跟统计类型
     */
    String USER_COUNT = "usercount:";

    /**
     * 所有车场
     */
    String APP_ALLPARKS = "app_allparks";
    /**
     * 天府-钱包中心：订单锁
     */
    String WALLET_ORDERNO_LOCK = "wallet_orderno_lock:";
    /**
     * 天府-钱包中心：账户锁
     */
    String WALLET_ACCOUNT_LOCK = "wallet_account_lock:";
    /**
     * 天府-钱包中心：账户缓存，后跟账户编号
     */
    String WALLET_ACCOUNT = "wallet_account:";
    /**
     * 天府-钱包中心：订单缓存，后跟订单编号
     */
    String WALLET_ORDER = "wallet_order:";
    /**
     * 计费缓存，后跟车位号，值为hash结构，key包括receivable、received、duein
     */
    String BILLING = "billing:";
    /**
     * 呼叫频道
     */
    String CHANNEL_CALL = "channel:call";
    /**
     * 监控中心客户端访问令牌，后跟登录用户名
     */
    String MONITOR_TOKEN = "monitortoken:";
    /**
     * 监控中心客户端访问令牌，后跟登录用户名
     */
    String PROJECT_AUTH_TOKEN = "proauthtoken:";
    /**
     * 微信全局的access_token，有效期7200秒
     */
    String WECHAT_ACCESS_TOKEN = "wxAccessToken";
    /**
     * 客户端时间错误警告，后跟操作员登录账号，值为hash结构
     */
    String CLIENT_TIME_ERROR_ALARM = "alarmTime:";
}
